﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using EXT;
using System.Windows.Forms;
using DevExpress.Utils;
using System.Text.RegularExpressions;

namespace BanHangCshap.BaoCaoTongHop
{
    public partial class frmChenhlechLolai : Form
    {
        public frmChenhlechLolai()
        {
            InitializeComponent();
        }

        BanHangCshap.Class.PhieuNhapXuat clspnx = new BanHangCshap.Class.PhieuNhapXuat();
        DataTable xgDataTable = new DataTable();

        private void btnXem_Click(object sender, EventArgs e)
        {
            WaitDialogForm dg = new WaitDialogForm("Đang load dữ liệu...", "Xin chờ trong giây lát.");

            DateTime x = dtpDenngay.EditValue.ToDateTime().ToShortDateString().ToDateTime();
            x = new DateTime(x.Year, x.Month, x.Day, 23, 59, 59);
            if (TabActive.Equals("tabHanghoa"))
            {
                xgDataTable = clspnx.PhieuNhapXuat_ThongkeChenhlechLolai(dtpTungay.EditValue.ToDateTime().ToShortDateString().ToDateTime(), x);

                if (xgDataTable != null)
                {
                    if (xgDataTable.Rows.Count >= 0)
                    {
                        gcMain.DataSource = xgDataTable;
                        int xlRowCount = xgDataTable.Rows.Count;
                        for (int i = 0; i < xlRowCount; i++)
                        {
                            if (gvMain.GetRowCellValue(i, colThongtin).ToInt32() == 1)
                            {
                                DataRow xlDataRow = gvMain.GetDataRow(i);
                                xlDataRow.SetColumnError(1, "Mặt hàng này đã bán với số lượng vượt số lượng nhập trong kỳ");
                            }
                        }
                    }
                    else gcMain.DataSource = null;
                    gvMain.BestFitColumns();
                }
                else gcMain.DataSource = null;
            }
            else
            {
                xgDataTable = clspnx.PhieuNhapXuat_ThongkeLoinhuanTheoKhach(dtpTungay.EditValue.ToDateTime().ToShortDateString().ToDateTime(), x);
                gcTheoKhachHang.DataSource = xgDataTable;
                gvTheoKhachHang.BestFitColumns();
            }
            dg.Close();
        }

        private void gvMain_MouseWheel(object sender, MouseEventArgs e)
        {
            gvMain.GridMouseWheel(e);
        }

        private void frmChenhlechLolai_Load(object sender, EventArgs e)
        {
            dtpTungay.EditValue = BanHangCshap.SDN.LayNgaydauthang();
            dtpDenngay.EditValue = DateTime.Now;
        }

        private void gvMain_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                DataRow[] xlResult = xgDataTable.Select("mahang = '" + gvMain.GetFocusedRowCellValue("mahang").ToString() + "'");
                if (xlResult.Length > 0)
                {
                    BaoCaoTongHop.frmThongbaoHangtonTruoc frm = new frmThongbaoHangtonTruoc("Hàng tồn trước ngày " + dtpTungay.Text + " là : " + xlResult[0]["TonTruoc"].ToDouble().ToString("n0") + " " + xlResult[0]["dvt"].ToString(), "Giá nhập trung bình: " + xlResult[0]["GiaNhapTBTruoc"].ToDouble().ToString("n2") + " đồng", "Thông tin hàng tồn trước ngày " + dtpTungay.Text, Mx, My + 200);
                    frm.ShowDialog();
                }
            }
            catch (Exception)
            {
            }
        }

        int Mx, My;
        private void gvMain_MouseMove(object sender, MouseEventArgs e)
        {
            Mx = e.X;
            My = e.Y;
        }

        private void btnXemhangtonTruoc_Click(object sender, EventArgs e)
        {
            gvMain_DoubleClick(null, null);
        }

        string TabActive = "tabHanghoa";
        private void tabMain_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
        {
            switch (e.Page.Name)
            {
                case "tabHanghoa":
                    TabActive = "tabHanghoa";
                    break;
                case "tabKhachhang":
                    TabActive= "tabKhachhang";
                    return;
            }

        }

        private void gvTheoKhachHang_MouseWheel(object sender, MouseEventArgs e)
        {
            gvTheoKhachHang.GridMouseWheel(e);
        }
    }
}
